Many authors advocate the double-checked locking idiom to access a Singleton object in an intuitively thread-safe way. Unfortunately, for counterintuitive reasons, double-checked locking doesn't work in Java.
Dynamic languages are coming competitors to Java. Growing their scope beyond glue code and Web GUIs into the heavy work once done only with compiler, languages such as Python, PHP, Groovy, and Ruby have fast gained popularity. JavaWorld.
Discussion of two more architectural solutions to threading problems: a synchronous dispatcher (or 'reactor') and an asynchronous dispatcher (or 'active object').
Discusses architectural solutions to threading problems. Takes a look at threads from the perspective of an object-oriented designer, and at how to implement threads in an object-oriented environment, focusing on the implementation of asynchronous met...